草庐IT

数据任务$字节跳动$SLA 保障平台

全部标签

ruby-on-rails - 在时间表中对无限期重复的任务进行建模(类似日历的 Rails 应用程序)

这是一个很大的绊脚石。警告:以下不是问题,而是对我的想法的解释。我的问题是——你有更好的方法吗?是否有一些我不熟悉的常用技术?看起来这是一个微不足道的问题。所以你有任务模型。您可以创建任务、完成任务、销毁任务。然后你有经常性的任务。它就像常规任务一样,但它附加了一个重复规则。但是,任务可以无限期地重复——您可以在计划中提前一年,您应该会看到任务出现。因此,当用户创建一个循环任务时,您不会想在未来百年内构建数千个任务,并将它们保存到数据库中,对吧?所以我开始思考—如何创建它们?一种方法是在您查看日程安排时创建它们。因此,当用户提前一个月移动时,将创建任何重复性任务。当然,这意味着您不能再

ruby-on-rails - 设置没有种子数据的数据库

我需要用表格等设置我的数据库,但在某些情况下我不想加载我的种子数据。我也不想每次想忽略我的种子数据时都删除或移动我的db/seeds.rb文件。有没有办法执行rakedb:setup的任务并忽略种子数据? 最佳答案 是的。只需使用以下两个命令:rakedb:createrakedb:schema:loadrakedb:setup所做的只是创建数据库(db:create),从db/schema.rb加载数据(db:schema:load),然后插入种子数据(db:seed)。您可以单独执行这些步骤。

ruby - 如何从不同于 :deploy? 的命名空间触发 Capistrano 任务

在我的Capistrano配方中,我有一个具有不同任务的命名空间:namespace:mystuffdotask:mysetupdo;...end;task:mytask1do;...end;task:mytask2do;...end;task:mycleanupdo;...end;endThesecustomisedtasksaretriggeredvialineslikethisatthetopofmyrecipe:after"deploy","mystuff:mycleanup"我想从我的命名空间中执行一个普通的capistrano任务。例如,如果已经建立了一定数量的发布文件夹,

ruby-on-rails - 检测应用程序是否作为 HTTP 服务器启动(rake 任务、rconsole 等)

我正在使用EventMachine和Monetarily与我的Rails应用程序一起启动eTCP服务器。这是从config/initializers/momentarily.rb开始的。我的问题是当我运行rake任务时它也会启动,比如db:migrate。我只希望它在我启动HTTP服务器时启动。环境无济于事,因为服务器启动和rake任务都在开发环境下。有没有办法知道应用程序正在运行HTTP服务器而不是其他任何东西?请注意,这不仅是rake任务,如果我运行rails控制台,EM也会启动,这对我的情况来说也是不可取的。 最佳答案 unl

ruby-on-rails - 如何在 rake 任务中包含 ActionMailer 类?

我想在我的rake任务中使用ActionMailer,以便在特定时间向人们发送电子邮件。我在app/mailers文件夹中编写了一个邮件程序类,如下所示:classAlertsMailer然后我在我的rake任务中包含了以下行:AlertsMailer.mail_alert(email_addresses,subject)当我尝试运行rake任务时:rakeupdate_db我收到以下错误:uninitializedconstantAlertsMailer我想我必须以某种方式在我的rake任务中加载邮件程序类,但我不知道该怎么做。请帮忙。 最佳答案

ruby - 从任务中访问 Rake 任务描述

在rake任务中,如何查询描述?会给出的东西:desc"PopulateDB"taskpopulate::environmentdoputstask.desc#"PopulateDB"end 最佳答案 task必须定义为任务block的参数。desc"PopulateDB"task:populatedo|task|putstask.comment#"PopulateDB"putstask.full_comment#"PopulateDB"putstask.name#"populate"end编辑:此解决方案适用于rake0.8.7。

ruby - 如何让两个雷神任务共享选项?

对于雷神,可以使用method_option为特定任务设置选项。要为一类中的所有任务设置选项,可以使用class_option。但是,如果想要一个类的一些任务而不是全部任务来共享选项呢?在下面的task1和task2中共享选项,但它们不共享所有选项,并且它们不与task3共享任何选项。require'thor'classCli:string,:required=>true,:default=>'foo'deftask1enddesc'task2','Task2'method_option:type,:type=>:string,:required=>true,:default=>'fo

Ruby Rake 从 gem 加载任务

我一直在尝试将位于github上的gem添加到我当前的应用程序中。gem有一个我希望能够从我的应用程序访问的rake文件。但我不断收到加载错误。load'tasks/deploy.rake'gem文件看起来像这样#-*-encoding:utf-8-*-require'rake'Gem::Specification.newdo|gem|gem.authors=%w(HelloWorld)gem.email=%w(test@example.com)gem.description='test'gem.summary='test'gem.homepage='https://github.co

mysql - Rails 数据库连接池的工作原理

我正在学习Rails数据库连接池概念。在Rails应用程序中,我将池大小定义为5。我对连接池大小的理解如下。当服务器启动时,rails会自动创建n个在database.yml文件中定义的连接。在我的例子中,它将创建5个连接,因为池大小为5。在每个http请求上,如果需要访问数据库,rails将使用连接池中的可用连接来处理请求。但我的问题是,如果我一次达到1000个请求,那么大部分请求将无法访问数据库连接,因为我的连接池大小只有5个。我上面对rails连接池的理解对吗??谢谢, 最佳答案 目的:数据库连接不是线程安全的;所以Activ

Ruby rest-client 文件上传为具有基本身份验证的多部分表单数据

我了解如何通过Ruby的rest-client使用基本身份验证发出http请求response=RestClient::Request.new(:method=>:get,:url=>@base_url+path,:user=>@sid,:password=>@token).execute以及如何将文件作为多部分表单数据发布RestClient.post'/data',:myfile=>File.new("/path/to/image.jpg",'rb')但我似乎无法弄清楚如何将两者结合起来以便将文件发布到需要基本身份验证的服务器。有谁知道创建此请求的最佳方式是什么?